import MyButton from './MyButton.vue';
import MyInput from './MyInput.vue';

const componentPool = [
  MyButton,
  MyInput
]

export default {
  // 每当这个插件被添加到应用程序中时，如果它是一个对象，就会调用 install 方法
  install: (app, options) => {
    // 使用 app.config.globalProperties 暴露 or app.component 注册
    // console.log(options);
    // 可以通过main.js use方法里传过来的 options 来进行配置
    
    // app.component(MyButton.name, MyButton);
    // app.component(MyInput.name, MyInput);

    if (options.components) { // 通过这里的配置，筛选要注册的组件(按需加载)
      options.components.map(compName => {
        componentPool.map(comp => {
          if (compName === comp.name) {
            app.component(comp.name, comp);
          }
        })
      })
    } else {
      componentPool.map(comp => {
        app.component(comp.name, comp);
      })
    }
  }
}